<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="js/vue.js"></script>
</head>
<body>
    <div id="app">
        <p ref="hello">{{ msg }}</p>
        <div ref="world">bbb</div>
        <h3>ccc</h3>

        <button @click="show">按钮</button>
        <hr>

        <p ref="happy">{{ name }}</p>
        <button @click="modify">修改name</button>

    </div>

    <script>
        // 创建一个Vue实例对象
        var vm = new Vue({
            // el: '#app', // 挂载
            data: {
                msg: 'welcome',
                name: '朱浩文'
            },
            methods: {
                show(){ // 当对象的属性值是匿名函数时，可以简写
                    // console.log(11111)
                    console.log(this == vm)
                    console.log(this.$refs.hello)
                },
                modify(){
                    this.name = '程煜'

                    // 此时DOM还没更新，需要时间来更新页面
                    this.$nextTick(function(){
                        // 等页面更新完毕，再执行
                        console.log(this.$refs.happy.innerText)
                    })

                }
            }
        }).$mount('#app')
        // console.log(vm)
        // console.log(vm.$el)

        // console.log(vm.$refs)
        // console.log(vm.$refs.hello)

        // 手动挂载
        // vm.$mount('#app')
    </script>
</body>
</html>